თავი 2. ADO-ს ობიექტური მოდელი
მონაცემების დამუშავების პირველი ნაბიჯია მონაცემების წყაროსთან დაკავშირება. დაკავშირება ხორციელდება ცხადად, ან არაცხადად. ძირითადად გამოიყენება მონაცემების წყაროსთან ცხადად დაკავშირება. ობიექტის Connection მონაცემების წყაროსთან ცხადად დაკავშირება ხორციელდება:
- ობიექტური ცვლადის Connection-ის გამოცხადებით;
- ობიექტური ცვლადის Connection-ის ეგზემპლარის შექმნით.
Dim kav As ADODB.Connection
Set kav = New ADODB.Connection
შეიძლება ერთდროულად გამოცხადებულ იქნეს ობიექტური ცვლადი და შეიქმნას ობიექტის Connection ეგზემპლარი:
Dim kav As New ADODB.Connection
ობიექტის Connection თვისებებია:
- ConnectionString – მიეთითება მონაცემების წყარო და და მონაცემების ბაზის სრული მისამართი;
- ConnectionTimeout – მონაცემების წყაროდან პასუხის მიღების ლოდინის დრო. გაჩუმებით მიღებულია 15 წამი. აუცილებლობის შემთხვევაში, ქსელის დატვირთვის მხედველობაში მიღებით შეიძლება ეს რიცხვი გაიზარდოს;
- Mode – მონაცემებთან შეღწევის რეჟიმი/ცხრ. 2.1/;
- CursorLocation – OLE DB-ში კურსორის ადგილმდებარე-ობის განსაზღვრა. მისი მნიშვნელობებია: adUseServer – კურსორი მოთავსებულია სერვერის მხარეს, adUseClient – კურსორი მოთავსებულია კლიენტის მხარეს;
- DefaultDatabase – განისაზღვრება სერვერზე არსებული მონაცემების ბაზა;
- IsoLocationLevel – რამდენიმე მომხმარებლის ერთდროულად მონაცემების ბაზასთან მიმართვის მცდელობის გათვალისწინება/ცხრ. 2.2/;
- Provider – მონაცემების ბაზასთან კავშირის დამყარების წინ განისაზღვრება OLE DB მომხმარებელი;
- CommandTimeuot – ბრძანების შესრულებასთან დაკავშირებული მონაცემების წყაროსთან ლოდინის დრო. ამ დროის გასვლის შემდეგ მონაცემების წყაროსთან დაკავშირების მცდელობა წყდება.
ცხრილი 2.1.
თვისების Mode მუდმივები
თვისებაში CursorLocation გამოყენებული იყო ცნება კურსორი. ეს არ არის კურსორი ჩვეულებრივი გაგებით. აქ კურსორი არის მონაცემების ბაზიდან ამორჩეული ჩანაწერების ერთობლიობა პლუს მიმდინარე ჩანაწერის ინდიკატორი.
ობიექტის Connection გაღების ბრძანების მიცემის წინ აუცილებელია ობიექტისთვის თვისებების მინიჭება.
Dim kav As New ADODB.Connection
kav. CursorLocation = adUseServer
ობიექტის Connection გაღების ბრძანების სინტაქსი შემდეგია:
Connection.Open[,ConnectionString (მონაცემების წყაროსთან დაკავშირების სტრიქონი][, მომხმარებლის იდენტიფიკატორი] [,Password (პაროლი)] [, Parameter (პარამეტრები)]
არგუმენტის ,,პარამეტრები” მნიშვნელობებია:
• adConnectUnspecified – მონაცემების წყაროსთან ხორციელდება სინქრონული დაკავშირება. მოცემულ მომენტში მხოლოდ ერთ მომხმარებელს შეუძლია მონაცემების წყაროსთან დაკავშირება. ეს მნიშვნელობა გაჩუმებით აქვს მინიჭებული არგუმენტს ,,პარამეტრები”;
• adAsyncConnect – გამოიყენება მონაცემების წყაროსთან ასინქრონული კავშირის დასამყარებლად.
მონაცემების წყაროსთან დაკავშირების სტრიქონი ConnectionString
მონაცემების წყაროსთან დაკავშირება ორი ხერხით შეიძლება: პირველი: ობიექტის Connection შექმნის შემდეგ მეთოდში Open არგუმენტის ConnectionString-ის შექმნით და მეორე: ობიექტის Connection შექმნის შემდეგ ობიექტის Connection გაღებამდე თვისების ConnectionString გამოყენებით. ნებისმიერ შემთხვევაში დაკავშირების სტრიქონში გათავალისწინებულ უნდა იქნეს 5 არგუმენტი.
1. მიმწოდებელი – მომწოდებლის სახელი/ცხრ. 2.3/
ცხრილი 2.3
ცხრილი 2.2.
თვისების IsoLocationLevel მუდმივები
2. მონაცემების წყარო – ფაილის სრული მისამართი, რომელთანაც დაკავშირება ხორციელდება. მაგ. Data Source = C:\Ekonomfakulteti.mdb(Access 2003)
Data Source = C:\Ekonomfakulteti.accdb(Access 2007)
3. მონაცემების დაშორებული მომწოდებელი – თუ მონაცემების ბაზასთან კავშირი კლიენტის მხრიდან ხორციელდება, მაშინ მიეთითება სერვერის მისამართი;
4. დაშორებული სერვერი – მიეთითება სერვერის იდენტიფიკატორი;
5. URL – თუ მონაცემების ბაზასთან კავშირი ინტერნეტით ხორციელდება, მაშინ მიეთითება URL მისამართი.
მაგალითი
დაკავშირება Access 2007-ში ორგანიზებულ დაშორებულ მონაცემების წყაროსთან.
Dim dak As New ADODB.Connection
'ცვლადის გამოცხადება და ობიექტის Connection ეგზემპლარის შექმნა
Dim kav As String
kav = "Provider=Microsoft.ACE.OLEDB.12.0; Persist Security Info=False; "User ID=Admin; Data Source= D:\prog_testi.accdb;"
dak.Open kav
დაკავშირება მიმდინარე ბაზასთან
Dim dak As New ADODB.Connection
'ცვლადის გამოცხადება და ობიექტის Connection ეგზემპლარის შექმნა
Set dak=CurrentProject.Connection